Method and apparatus for communicating devices each performing preprocessing operations on data autonomously of the central processor

ABSTRACT

Communicating devices in a data processing system operate in a data-altering mode to perform processing operations autonomously of the central processor. The operations are performed within limits prescribed by broad-function parameters from the central processor, thus relieving the central processor of preprocessing operations. Each device issues discrete instructions comprising an operation part and a store address part for performing operations on data items supplied by the device itself, as well as on data in the system store.

United States Patent 1 1 Hunter et al. 1 1 Jan. 9, 1973 54] METHOD ANDAPPARATUS FOR 3,283,308 11/1966 Klein ..340/172.5 CQMMUNICATING DEVICESEACH 3,407,387 10/1968 Looschen ..,..340 172.5 x 3,408,632 10/1968 Hauck..340/172.5 PERFORMING PREPROCESSING 3,411,143 11/1968 Beausoleilwnnn......340/172.5 OPERATlONS 0N DATA 3,462,141 8/1969Bush.................. .....340/172.s AUTONOMOUSLY OF THE CENTRAL3,564,509 2/1971 Perkins "340/1725 PROCESSOR 7 W V I PrimaryExaminer-Paul J. Henon [75] e to s: J Hunter, x. AssistantExaminer-Sydney R. Chirlin All!!!" X, Ariz. Att0meyFl'ed Jacob, EdwardW. Hughes and Ed- [73] Assignee: Honeywell Information Systems Inc.,ward Gerlaugh Waltham, Mass. [57] ABSTRACT [22] Filed .l 1971Communicating devices in a data processing system [2H App No 108 284operate in a data-altering mode to perform processing operationsautonomously of the central processor. The operations are performedwithin limits prescribed by [52] U.S. Cl. ..340/l72.5 broad-functionparameters from the central processor, {51] Int. Cl. ..G06l 3/00 thusrelieving the central processor of preprocessing [58] Field of Search..340/172.5 operations, Each device issues discrete instructionscomprising an operation part and a store address part [56] ReferencesCited for performing operations on data items supplied by UNITED STATESPATENTS the device itself, as well as on data in the system store.3,618,039 11 1971 Baltzly ..340 172.5 10 23 0mm"; Figures 3,274,5619/1966 l-lallman ..340/l72.5

CENTRAL STORE PROCESSOR um'r P244 SYSTEM f CONTROLLER INPUT-OUTPUTMULTIPLEXER CONMJNICATING 01-:v1cs #1 /a\ COMMNICATING DEVICE #2 E27 /a\COMMNICATING osvictzsm 28\M COUtLwOL uses 30 DEVICE PATENTEUJAI 91975 37 l 0 328 SHEET 0 1 OF 20 CENTRAL STORE PROCESSOR UNIT 4 23 SYSTEM flCONTROLLER INPUT OUTPUT MULTIPLEXER OOMMJNICATING DEVFCE #I /aCOMMNICATING 32 E DEVIC 2 22 l I I In: [E- 1 /8\ COMMUNICATING DEVICE-#NCONTROL 28 UNIT USER a0 DEVICE INVENTOR. JOHN C. HUNTER ALBERT L. BEARDFAIENIEDJAII ems 3.710.328

SHEET U2I1F 2O IOM BOAI

PRIORITY I BSPS BSPI BSP2 ssPs (HIGHEST PRIORITY COMMUNICATING DEVICE)BSPS 62 /& PRIORITY 2 o o 0 J BsPs 63 /& PRIORITY3 0 II .J

BSPS 64 /a PRIORITY 4 0 I) I I I I I I I I l8 PRIORITY N 2 I I i 2 I I II 68 BSPI I BSP2 OVERRIDE ESP? J SIGNAL TO BGAI J HIGHER 67 PRIORITY IDEV'CES PRIORITY MONITOR AND OVERRIDE BSPS I PRIORITY N-I PRIORITY N 0 uI /8 PATENTEU JAN 9 I973 3 71 0.328 SHEET 03 0F 20 sELECT T REGISTERSTORE ADDRESS 5 V we REGISTER g PROCESSING UNIT TIMING GENERATOR CIOMl08 INsTRuCTION Q DECODE LOGIC TO SYSTEM CONTROLLER 24 J SWITCHES ANDREGIsTERs TO SYSTEM CONTROLLER CONTROL LOGIC CONTROL QREC ORG-3 COMMANDI REGISTER -23/ A /43 COMMAND FSLA'B SWITCH T /45 SELA A I UNIT REOuEsTAND PRIORITY LOGIC 25; $MDP SREOA 0 MTSMAVA /-CMDAO-3 $MDTA A E55. 5'3II II I PAIENTEDJD': 9191s 3.710.328

SHEET Uh 0F 20 FIG 30 FIG 3b FIG 3 FIG 3d FIG 3a FIG 3f STORE UNIT l?240$ few 24a few Q /45 I42 [44 s I 2 OUTPUT CSSA ADRRESS INPUT- DATA W 5SWITCH SWITCH CPAN CSLA U U Q A INTERRUPT 1 L06: DNOO- :7

2 RROO-l7 FUNCTION ADDRESS BUS a PATENTEUJM arm 3.710.328 SHEET O7UF 2OH [V] 225 DEVICE 220k 36\ NUMBER CONFIGURATION DECODE LOGIC UN 35 Q 4042 L S MICROINSTRUCTION DEVICE REQUEST BCRS CONTROL R05 l FREQ corwvumoADDRESS REQ FF: GENERATOR I GENERATOR 48 J pm I 46 BIND I 44 BSCN FPRIACT 2' 9 v me Q 14 BSCN J25 I I FACT DATA |INTERRUPT| ICOMMANDI COMMANDl l RECEIVE SEND CONTROL CONTROL D|SCRETE INSTRUCTION REG. DISCRETE-INSTRUCTION GEN. 26

COMMU NICATIO NS INTERFACE PATENTEDJAN ems 3.710.328 SHEET OBUF 20 .1LOGIC SWITCH $BFC BADR a: j ADDRESS-REGISTER L |-BUS\. -D-BUS SENDBUFFER AND 32 SHIFT REGlSTER RECEIVE SHIFT :22 REGISTER 37115 AND BUFFERmm DATA DATA DEVICE m OUT PATENTEDJAN 9|975 3.710.328 SHEET MW 20 BSCN II I SACS n FL I FL RFPB J RFPC I l I I see IIIL I I SREQA I I SREL [LPATENTEDJAII 9 ma FRUN $RFS

$ACS

FLAI

BSCN

FLA2

RLO5

DECL

$REQA BIND BADR

SMAVA SMDTA $MDP RPCO

RPCZ

RQCO

RQCI

RQC2

RQC3

SHEET lEUF 20 N r rfar I P2 01 L IOM START-UP FROM IDLE I P2 O3 IREAD/ALTER/REWRITE DOUBLE (INTERRUPT CONDITION NOT SATISFIED) C MESSAGEA SYNC SYNC

SYNC

REMOTE DATA I TERMINAL DATA 2 DATA 3 DATA 4 REMOTE DATA N TERMINAL SYNCMESSAGE a SYNC SYNC

SYNC

DATA I .EE-ll PATENTEDIJAIII DISCRETE INSTRUCTION DATA I 300 ADDRESScouNTI SOS 5oz ADDRESS DATA I DATA 2 s00 NSX ADDRESS couNT 2 S05 SDZADDRESS DATA I SIIEET COMPARE INPUT DATA ITEM WITH SYNC CHARACTER FROMsToRE UNIT NEXT DATA ITEM YES PREPROCESS MESSAGE DATA: GENERATEINSTRUCTION FOR DATA I STDRE uNIT DATA FIELDS I STORE GROUP! STORE DATAI Ioo IN STORE GROUP I 32;: I DATA DECREMENT \Q w sToRE GROUP I COUNT BYONE COUNT I |0O+I SToRE GROUP 2 STORE DATA 2 L DATA 200 IN STORE GROUP 2DATA l DATA DATA DECREMENT SToRE GROUP 2 COUNT BY ONE COUNT 2 200+]FIE-1E3 PAIENIEUJM 9:915 3.710.328 SHEET NM 20 l sToRE GROUP 3 ms NSXgggg g CHECK EXHAUSTED DATA DATA 0 DATA FIELD DATA DATA DATA

DATA

DATA

coum 3(ZERO) 300+k sToRE DATA 3 YES AND CONTINUE NDT N0 ADDREssUNCONDITIONAL sxc REQUIRED INTERRUPT DATA 4 ADD DATA 4 L sToRE GROUP 4ADS ADDREss TO STORE GROUP4 E DATA 400 l DATA DATA COUNT 4 DECREMENTCOUNT 4 400+L SOS ADDRESS sToRE GROUP 4 DATA: I COUNT BY ONE COUNTEXHAUSTED DZER COUNT 4 ADD L TO ADS ADDREss STORE GROUP 4 DATA COUNTEta-1 b PATENTEUJAN 9:915 3.710.328 SHEET 18UF 2o DATA N SUBTRACT DATA N503 ADDRESS FROM STORE GROUP N DECREMENT $95 fig STORE GROUP N COUNT BYONE STORE GROUP N X DATA DATA COUNT DATA EXHAUSTED COUNT N N00+m DZER Icoum N ADD m TD 1 ADS ADDRESS STORE GROUP N DATA m COUNT E R? E15. 1E5

FIG. I20

FI 12b 3 15-150 FIG. [20

TO I BUS PATENTED A 9 7 3.710.328 SHEET 1E] [1F 20 INDI T R BFC FROMOPERATING 220 SIGNALS STORE UNIT PARAMETERS FROM IOM V 38 l BBFCCONFIGURATION V BZER LOGIC UNIT 39 I BIND IND INTERVAL LOGIC TO I BUOsOO D-vCOUNT (IC) 0303 SWITCH S REGISTER 55 1 DATA GENERATOR E TO I BUST 37 CI P INITIATE PULSE J 45 TIMING PULSE INsTRuCTION SET GENERATOR SDDNSX 45 S08 S02 47 36 J r r s NUMERICAL FPI m CONSTANT R b DATA ITEM.-

8100 I6 0 FROM BIND BI l7=l sEOuENCE CONTROL 5 AND BADR 42 TIMINGCOMMAND GENERATOR 2 4a 4/ TO COUNT ADDRESS BZER 50 BIND 5/0500 5 (CD)REGIsTER VQ' H AOOREss GENERATOR L 5 TC f 2 1 DSDD MICRONIsTRuCTIONCONTROI. DFPI r40 DEDS 46 ,OTPG

DSDS B ER DFPI 57 1 54 BIND If: E. 1 El

1. In a data processing system of the type having a store unit with aplurality of addressable storage locations having storeunit data itemsstored therein including a first instruction set, a central processorfor sequentially performing a series of prescribed operations on thestore-unit data items in response to the first instruction set, aninput-output multiplexer having an arithmetic unit for performingoperations in response to a second instruction set, the secondinstruction having discrete instructions each including a data commandfield and a conditional interrupt command field, and a communicatingdevice connected to said input-output multiplexer for receiving theprocessed store-unit data items and for supplying input data items, saidcommunicating device having a discrete-instruction generator forgenerating the second instruction set, a method for preprocessing inputdata items, comprising the steps of: a. transferring a store-unit dataitem comprising a broadfunction command from the store unit to thecommunicating device; b. establishing in the discrete-instructiongenerator operating parameters for the communicating device in responseto information contained in the broad-function command; c. generating inthe discrete-instruction generator a first discrete instruction and afirst associated store-unit address in response to the establishedoperating parameters; d. transferring from the store-unit to thearithmetic unit a store-unit data item specified by the first associatedstoreunit address, and from the communicating device an input data item;e. performing in the arithmetic unit the operation specified by thedata-command field of the first discrete instruction upon the store-unitdata item specified by the first associated store-unit address and uponthe input data item to generate an altered data item and indicatorsignals; f. storing the altered data item in the store-unit; g.transferring the indicator signals to the discreteinstruction generator;h. generating in the discrete-instruction generator a subsequentdiscrete instruction and a subsequent associated store-unit address inresponse to the transferred indicator signals and to the establishedoperating parameters; i. transferring from the store-unit to thearithmetic unit a store-unit data item specified by the subsequentassociated store-unit address and from the communicating device, asubsequent input data item; j. performing in said arithmetic unit theoperation specified by the data-command field of the subsequent discreteinstruction upon the store-unit data item specified by the subsequentassociated store-unit address, and upon the subsequent input data itemto generate a subsequent altered data item and indicator signals; k.storing the subsequent altered data item in the store unit; l.transferring the indicator signals to the discrete instructiongenerator; m. testing the generated indicator signals to determine ifthe condition specified by the conditional interrupt command field ofthe subsequent discrete instruction is satisfied; n. executing theinterrupt command of the subsequent discrete instruction when thespecified condition is satisfied.
 2. A method according to claim 1further comprising between steps (m) and (n) the step of: repeatingsteps (h), (i), (j), (k), (l), and (m) until the established operatingparameters have been exceeded as determined in the testing step, therebysatisfying the condition specified by the conditional interrupt-commandfield of the subsequent discrete instruction.
 3. In a data processingsystem of the type having a store unit with a plurality of addressablestorage locations having store-unit data items stored therein includinga first instruction set, a central processor for sequentially performinga series of prescribed operations on the store unit data items inresponse to the first instruction set, an input-output multiplexerhaving an arithmetic unit for performing operations in response to asecond instruction set, the second instruction set having discreteinstructions each including a data command field and a conditionalinterrupt command field, a system controller connected to the centralprocessor, to the store unit, and to the input-output multiplexer forcontrolling the transfeR of data items therebetween, and a communicatingdevice connected to the input-output multiplexer for receiving theprocessed store-unit data items and supplying input data items, thecommunicating device having a discrete-instruction generator forgenerating the second instruction set, a method for preprocessing inputdata items, comprising the steps of: a. transferring a store-unit dataitem comprising a broad-function command from the store unit to thecommunicating device; b. establishing in the discrete instructiongenerator operating parameters for the communicating device in responseto information contained in the broad-function command; c. generating inthe discrete-instruction generator a first discrete instruction and afirst associated store-unit address in response to the establishedoperating parameters; d. transferring from the store-unit to thearithmetic unit a store-unit data item specified by the first associatedstore-unit address, and from the communicating device an input dataitem; e. performing in the arithmetic unit the operation specified bythe data-command field of the first discrete instruction upon thestore-unit data item specified by the first associated store-unitaddress and upon an input data item to generate an altered data item andindicator signals; f. storing the altered data item in the store-unit;g. transferring the indicator signals to the discrete-instructiongenerator; h. generating in the discrete-instruction generator asubsequent discrete instruction and a subsequent associated store-unitaddress in response to the transferred indicator signals and to theestablished operating parameters; i. transferring from the store-unit tothe arithmetic unit a store-unit data item specified by the subsequentassociated store-unit address and from the communicating device, asubsequent input data item; j. performing in said arithmetic unit theoperation specified by the data-command field of the subsequent discreteinstruction upon the store-unit data item specified by the subsequentassociated store-unit address, and upon the subsequent input data itemto generate a subsequent altered data item and the indicator signals; k.storing the subsequent altered data item in the store unit; l.transferring the indicator signals to the discrete-instructiongenerator; m. testing the generated indicator signals to determine ifthe condition specified by the conditional interrupt command field ofthe subsequent discrete instruction is satisfied; n. executing theinterrupt command of the subsequent discrete instruction when thespecified condition is satisfied.
 4. A method according to claim 3further comprising between steps (m) and (n), the step of: repeatingsteps (h), (i), (j), (k), (l), and (m) until the established operatingparameters have been exceeded as determined in the testing step, therebysatisfying the condition specified by the conditional interrupt-commandfield of the subsequent discrete instruction.
 5. An improved dataprocessing system of the type including a store unit with a plurality ofaddressable storage locations having store-unit data items including afirst instruction set stored therein, a central processor converted tosaid store unit for processing the store-unit data items in response tothe first instruction set, an input-output multiplexer connected to saidstore unit, a communicating device connected to the input-outputmultiplexer for receiving the processed store-unit data items from thestore unit and supplying input data items for storage in the store unit,and means in said input-output multiplexer responsive to stimuli fromthe central processor for transferring a broad-function command from thestore unit to the communicating device, wherein the improvementcomprises: data-altering means within the input-output multiplexer forperforming preprocessing operations on the input data items; and adiscrete-instruction Generator within the communicating deviceresponsive to information in the broad-function command and to thedata-altering means to generate a second instruction set, saiddata-altering means performing said preprocessing operations in responseto said second instruction set.
 6. An improved data processing system ofthe type including a store unit with a plurality of addressable storagelocations having store-unit data items including a first instruction setstored therein, a central processor connected to the store unit forsequentially performing a series of prescribed operations on thestore-unit data items in response to the first instruction set, aninput-output multiplexer connected to the store unit, a plurality ofcommunicating devices connected to the input-output multiplexer forreceiving the processed store-unit data items from the store unit andsupplying input data items for storage in the store unit, and means insaid input-output multiplexer responsive to stimuli from the centralprocessor for transferring a broad-function command from the store unitto a selected one of the plurality of communicating devices, wherein theimprovement comprises: data-altering means within the input-outputmultiplexer for performing preprocessing operations including arithmeticoperations on the store-unit data items and the input data items; adiscrete-instruction generator within the selected communicating deviceresponsive to information in the broad-function command and to thedata-altering means to generate a second instruction set comprising aplurality of discrete instructions, said data-altering means performingsaid preprocessing operations in response to said second instructionset.
 7. An improved data processing system of the type including a storeunit with a plurality of addressable storage locations having store-unitdata items including a first instruction set stored therein, a centralprocessor connected to the store unit for sequentially performing aseries of prescribed operations on the store-unit data items in responseto the first instruction set, an input-output multiplexer connected tothe store unit, a plurality of communicating devices connected to theinput-output multiplexer for receiving the processed store-unit dataitems from the store unit and supplying input data items for storage inthe store unit, and means in said input-output multiplexer responsive tostimuli transferred from the central processor for transferring abroad-function command having operating parameters from the store unitto a selected one of the communicating devices, wherein the improvementcomprising: data-altering means within the input-output multiplexer forperforming preprocessing operations including arithmetic operations onthe input data items; an indicator register within the input-outputmultiplexer responsive to the arithmetic results of the preprocessingoperation for generating indicator signals; and a discrete-instructiongenerator within the communicating device for generating a plurality ofdiscrete instructions having an interrupt command field, saiddiscrete-instruction generator responsive to the operating parameters inthe broad-function command and to the indicator signals to generate theplurality of discrete instructions for transmission to saiddata-altering means, said data-altering means performing thepreprocessing operation in response to the discrete instructions.
 8. Animproved data processing system as described in claim 7 wherein thedata-altering means further includes means responsive to the indicatorsignals for executing the command in the conditional interrupt commandfield of one of the plurality of discrete instructions to notify thecentral processor of a need for new operating parameters.
 9. An improveddata processing system of the type including a store unit with aplurality of addressable storage locations having store-unit data itemsincluding associated instruction set stored thereiN, a central processorfor sequentially performing a series of prescribed operations called aprogram on the store-unit data items in response to the instruction setand having means for interrupting the program, an input-outputmultiplexer, a system controller connected to the central processor, tothe store unit, and to the input-output multiplexer for controlling thetransfer of data items therebetween, a plurality of communicatingdevices connected to the input-output multiplexer for receiving theprocessed store-unit data items from the store unit and supplying inputdata items for storage in the store unit, and means in said input-outputmultiplexer responsive to stimuli transferred from the central processorto the input-output multiplexer for transferring a broad-functioncommand having operating parameters from the store unit to a selectedone of the plurality of communicating devices, wherein the improvementcomprises: data-altering means within the input-output multiplexer forperforming preprocessing operations including arithmetic operations onthe input data items, the preprocessing operations producing arithmaticresults; means connected to said data-altering means responsive to thearithmatic results of the preprocessing operations for generatingindicator signals; a discrete-instruction generator within the selectedcommunicating device for generating a plurality of discreteinstructions, each having an instruction part and a store-unit addresspart, the instruction part including a data command field and aconditional interrupt command field, said discrete-instruction generatorresponsive to the operating parameters in the broad-function command andto the indicator signal generating means to generate discreteinstructions for transfer to the data-altering means, said data-alteringmeans performing the preprocessing operation in response to the discreteinstructions.
 10. An improved data processing system as described inclaim 9 wherein the data-altering means further includes meansresponsive to the indicator signals for executing the command in theconditional interrupt command field of one of the plurality of discreteinstructions to notify the central processor of a need for new operatingparameters.